杭研技术秀 | 短文本内容检测反垃圾技术
年
十
2016年对于网易杭州研究院(以下简称“杭研”)而言是重要的 - 成立十周年之际,杭研正式推出了网易云。“十年•杭研技术秀”系列文章,由杭研研发团队倾情奉献,为您展示杭研那些有用、有趣的技术实践经验,涵盖云计算、大前端、信息安全、运维、QA、大数据、人工智能等领域,涉及前沿的分布式、容器、深度学习等技术。正是这些宝贵的实践经验,造就了今天高品质的网易云产品。
本文来自网易杭州研究院信息安全团队,针对短文本数据,作者采用了一种基于二元文法双词共现的概率统计建模方法,在色情-辱骂分类问题上取得了比传统LDA主题模型更优的效果,并且准确率和召回率指标能够随着主题个数的增加而稳定提高。
一、技术背景介绍
数据挖掘工程师都知道,短文本数据在我们的生活中无处不在。只要我们上网,我们就会遇到形式多样的短文本,比如文本广告、图片标题、微博、优酷视频、豆瓣评论、短信、百度知道里的提问和回答。数据挖掘中的内容分析任务就是要从这些海量的短文本数据中提取出精准的主题,为后续的内容识别分类、用户建模画像、意图识别、热点话题爆发检测等任务提供良好的数据基础。
图0:短文本数据应用业务场景
尽管文本分析领域已经有成熟的数据挖掘方法,但是针对短文本的主题挖掘还是存在很多技术瓶颈。传统的文本主题挖掘方法,比如PLSA(概率潜在语义分析)、LDA(隐含狄利克雷分布),都假设了一篇文章的内容有多种主题混合而成,并且每个主题都有各自不同的权重,占主导地位的主题就体现了一篇文章的主旨。但是,这些传统的文本建模技术是针对文档层面的词语共现模式进行设计的,在运用到短文本数据的时候就遇到了严重的稀疏性问题。在长文本数据中,我们有足够长的文字篇幅让这些传统技术学习到词语的共现关系,主题代表性强的词能够在文本中经常出现。但是在短文中,词语的wordcount并不能反映哪个词更重要;而且在短文本数据中,由于缺乏足够的上下文信息,这些传统技术对多义词的鉴别能力更是大幅下降。
图1:LDA文本模型 (来源于David Blei)
二、短文本模型原理
针对业务中遇到短文本垃圾评论数据,我们采用针对二元文法概率建模的BTM模型(A Biterm Topic Model for Short Texts,www2013)对数据进行主题建模和检测,在对”色情“-“辱骂”的短文本数据的分类问题中,相比传统的LDA主题模型,得到了更好的分类效果。
传统的概率统计方法,本质上是在document层次上对词语的共现模型进行设计的,得到的主题,可以用这个主题相关的词语来表示。而在短文本问题中,在document的层次上反应的上下文信息较少,BTM模型直接对Bi-gram二元文法的词语共现进行建模。BTM模型中,将短文本中的每对共现词,看成是一定概率分布下随机生成的过程,可以用概率图模型直观地表示,如图2。在BTM中,除了假设每一条文本数据的内容是由多种主题构成的,针对二元文法中共现的词语pair,同一条数据中共同出现的两个词语也被设计成从同一个主题下的分布生成。
图2:BTM的概率图模型
(来源于“A Biterm Topic Model for Short Texts”)
不同于传统的LDA概率模型,BTM短文本概率统计模型的数据生成过程设计如下:
图3:BTM文本模型
(来源于“A Biterm Topic Model for Short Texts”)
值得一提的是BTM模型直接对二元文法中的词语进行概率分布下的随机生成,而不是对文档document进行建模,因此文档的主题分布特征只能通过“贝叶斯定理”计算得到,
其中,
BTM模型的训练学习过程如下:
其中每个轮迭代中,共现双词pair的主题的采样公式为
最后,迭代结束后,参数更新:
从以上模型设计可以看到BTM的学习训练过程极为高效,模型参数学习相对于传统LDA文本模型更为简单。
三、短文本内容检测性能测试分析
以下是业务中BTM模型在短文本评论数据上对“色情”-“辱骂”主题的分类检测流程:
图4:短文本数据内容检测流程
图5所示的是业务中处理的短文本数据经过预处理过滤、分词得到的样例数据。
图6所示的是短文本数据词频分布统计,分布情况基本和推荐系统的用户、商品的大数据分布类似,集中体现出长尾的现象。
图5:短文本数据
图6:短文本数据的词频分布统计
以下是对BTM和传统LDA在短文本数据内容检测识别任务上的性能比较。
图7是对两种文本模型在“色情”VS“辱骂”分类任务上的准确率(ACC)性能比较,我们测试比较了BTM和LDA模型在不同topic主题个数下的性能变化曲线。
图8是对两种文本模型在“色情”VS“辱骂”分类任务上的AUC性能指标的比较,我们同样测试比较了BTM和LDA模型在不同topic主题个数下的性能变化曲线。
图9是BTM和LDA文本模型在短文本数据分类(“色情”VS“辱骂”)上的AUC性能曲线比较。
图7:BTM与传统LDA文本模型在短文本内容主题检测上的准确率(ACC)比较
图8:BTM与传统LDA文本模型在短文本内容主题检测上的分类结果AUC性能指标的比较
图9:BTM和LDA文本模型在短文本数据分类上的AUC性能曲线比较
从结果中,可以看到BTM在短文本主题学习上比传统的LDA概率文本模型有明显的优势:不仅在ACC和AUC具体指标上BTM有更好的效果,传统LDA文本模型学习到的概率主题特征在topicNum>300之后,主题特征的同质化现象严重(短文本数据集的词稀疏性、主题稀疏性的影响较重),分类器训练和预测的时候,预测分数趋向集中,CV确定分类阈值变得困难,而且偏离0.5的中心值;实际经验情况,概率模型的先验参数需要尽可能调低,最优阈值分数确定在0.585左右。
为了更直观地观察BTM学习到的“语义主题”,我们打印出每个主题下的最具代表性的词语进行可视化描述。如图10所示,红色方框圈出来的“语义主题”具有明显的“色情”倾向性;蓝色方框圈出来的“语义主题”具有明显的“辱骂”倾向性。在图11-1和图11-2中我们选取了其中4个“语义主题”进行词云图的可视化,可以明显看到各个“主题”的语义倾向性。
图10:BTM文本模型学习得到的“语义主题”结果
图11-1:词云图展示挖掘出来的偏辱骂的主题
图11-2:词云图展示挖掘出来的偏色情的主题
图12中我们分析了各个类别(“色情”VS “辱骂”)的随着主题个数K变化的检测性能曲线。可以看到分类检测的各个类别在精准度precision和召回率recall指标上都大体随着主题个数K的增加而稳定提高。
图12:各个类别检测结果随BTM主题个数K变化的性能曲线(精准度precision、召回率recall)
四、总结
从短文本数据的内容检测的分类结果上看,BTM相比于传统的LDA文本模型克服了短文本数据的稀疏性问题的影响,学习得到更高质量的“语义主题”。在短文本数据分类任务上BTM比传统的LDA文本模型在ACC准确率和AUC性能指标上都更高更稳定,相比于LDA文本模型具有明显的优势。
——方正
网易杭州研究院信息安全部
小编点评:LDA几乎可以说是当今最成功的主题模型,但对于特征较少的短文本,LDA等传统文本算法的分类效果并不理想,本文采用基于BTM模型的方法很好地解决了问题,在短文本数据分类任务上实现了比LDA更好的ACC和AUC。在短文本、碎片化内容越来越多的今天,这种技术有很大的用武之地。类似的文本挖掘技术,以及基于深度学习的图片鉴黄等,共同为网易云内容安全解决方案提供了有力的支撑。这也表明,在用户导向的理念之下,杭研善研发团队于将合适的方法集成到解决方案中,用来化解各种业务挑战。
点击阅读“杭研技术秀”系列文章:
十年•杭研技术秀 | 图说subrequest之并发使用原理;